#include"Json.hpp"



void test1()
{
        //创建Json::Value对象
    //Json::Value是一个类，用来表示JSON数据类型的值，可以是对象、数组、字符串、数值、布尔值等。
    Json::Value root;
    root["姓名"]="张三";
    root["年龄"]= 25;
    root["socre"].append(90);
    root["socre"].append(80);
    root["socre"].append(70);
    
    Json::Value like;
    like["电影"]= "《速度与激情3》";
    like["音乐"]= "《海阔天空》";
    like["书籍"].append("《C++ Primer》");
    like["书籍"].append("《Effective C++》");
    root["喜好"]= like;
    string str;
    Serialize(root,str);
    cout<<str<<endl;
   
   
    Json::Value dsr;
    Deserialize(str,dsr);
    cout<<dsr["姓名"].asString()<<endl;
    cout<<dsr["年龄"].asInt()<<endl;
    int n=dsr["socre"].size();
    for(int i=0;i<n;i++)
    {
        cout<<dsr["socre"][i].asInt()<<endl;
    }
    cout<<dsr["喜好"]["电影"].asString()<<endl;
    cout<<dsr["喜好"]["音乐"].asString()<<endl;
    int m=dsr["喜好"]["书籍"].size();
    for(int i=0;i<m;i++)
    {
        cout<<dsr["喜好"]["书籍"][i].asString()<<endl;
    }
}

int main()
{
    test1();
    return 0;
}